#pragma once
#ifndef __VIRTUALCLIENT_H__
#define __VIRTUALCLIENT_H__

#include <app/App.h>
#include <memory>
#include <msg/message.h>
#include <net/tcp_client.hpp>
#include <string_view>


class VirtualClient: public tcp_client, public App, public std::enable_shared_from_this<VirtualClient>{
    bool running;
public:
    VirtualClient(uint32_t server_ip, uint16_t server_port);

    VirtualClient(std::string_view server_ip, uint16_t server_port);

    virtual void fd_hander() override;

    virtual void message_hander(message msg) override;
};

#endif // __VIRTUALCLIENT_H__